home *** CD-ROM | disk | FTP | other *** search
-
- PLR1_fall
- move.l PLR1s_tyoff,d0
- move.l PLR1s_yoff,d1
- move.l PLR1s_yvel,d2
-
- cmp.l d1,d0
- bgt .aboveground
- beq.s .onground
-
- st SLOWDOWN
-
- ; we are under the ground.
-
- ; move.l #0,d2
- sub.l d1,d0
- cmp.l #-512,d0
- bge.s .notoobig
- move.l #-512,d0
- .notoobig:
- add.l d0,d1
-
- bra CARRYON
-
- .onground:
- move.w PLR1_FloorSpd,d2
- ext.l d2
- asl.l #6,d2
-
- move.l #PLR1_Obj,a4
- move.w DAMAGEWHENHIT,d3
- sub.w #100,d3
- ble.s .nodam
- add.b d3,damagetaken(a4)
- .nodam
-
- st SLOWDOWN
- move.w #0,DAMAGEWHENHIT
-
- move.w ADDTOBOBBLE,d3
- move.w d3,d4
- add.w PLR1_bobble,d3
- and.w #8190,d3
- move.w d3,PLR1_bobble
- add.w PLR1_clumptime,d4
- move.w d4,d3
- and.w #4095,d4
- move.w d4,PLR1_clumptime
- and.w #-4096,d3
- beq.s .noclump
-
- bsr PLR1clump
-
- .noclump
-
-
- move.l #-1024,JUMPSPD
-
- move.l PLR1_Roompt,a2
- move.l ToZoneWater(a2),d0
- cmp.l d0,d1
- blt.s .notinwater
-
- move.l #-512,JUMPSPD
-
- .notinwater:
-
- tst.w PLAYERONEHEALTH
- ble.s .nothrust
-
- move.l #KeyMap,a5
- moveq #0,d7
- move.b jump_key,d7
- tst.b (a5,d7.w)
- beq.s .nothrust
- move.l JUMPSPD,d2
- .nothrust:
-
- tst.l d2
- ble.s .nodown
-
- moveq #0,d2
- .nodown:
- add.l d2,d1
- bra CARRYON
-
- .aboveground
-
- clr.b SLOWDOWN
-
- tst.w PLAYERONEJETPACK
- beq.s .nofly
-
- tst.w PLAYERONEFUEL
- beq.s .nofly
-
- cmp.w #250,PLAYERONEFUEL
- ble.s .okfuel
-
- move.w #250,PLAYERONEFUEL
-
- .okfuel:
-
- st SLOWDOWN
- move.l #-128,JUMPSPD
- move.l #KeyMap,a5
- moveq #0,d7
- move.b jump_key,d7
- tst.b (a5,d7.w)
- beq.s .nofly
- sub.w #1,PLAYERONEFUEL
- add.l JUMPSPD,d2
- move.w #0,DAMAGEWHENHIT
- move.w #40,d3
- add.w PLR1_bobble,d3
- and.w #8190,d3
- move.w d3,PLR1_bobble
- .nofly:
-
- move.l d0,d3
- sub.l d1,d3
- cmp.l #16*64,d3
- bgt.s .nonearmove
-
- st SLOWDOWN
-
- .nonearmove:
-
-
- ; need to fall down (possibly).
-
- add.l d2,d1
- cmp.l d1,d0
- bgt.s .stillabove
-
- move.w DAMAGEWHENHIT,d3
- sub.w #100,d3
- ble.s .nodam2
- move.l PLR1_Obj,a4
- add.b d3,damagetaken(a4)
- .nodam2
- move.w #0,DAMAGEWHENHIT
-
- move.w PLR1_FloorSpd,d2
- ext.l d2
- asl.l #6,d2
-
- bra CARRYON
-
- .stillabove:
- add.l #64,d2
- add.w #1,DAMAGEWHENHIT
-
- move.l PLR1_Roompt,a2
- move.l ToZoneWater(a2),d0
- cmp.l d0,d1
- blt.s CARRYON
-
- cmp.l oldheight,d0
- blt.s .nosplash
-
- movem.l d0-d7/a0-a6,-(a7)
- move.w #6,Samplenum
- move.w #0,Noisex
- move.w #100,Noisez
- move.w #80,Noisevol
- move.w #$fff8,IDNUM
- clr.b notifplaying
- jsr MakeSomeNoise
- movem.l (a7)+,d0-d7/a0-a6
-
- .nosplash:
-
- st SLOWDOWN
- move.w #0,DAMAGEWHENHIT
- cmp.l #512,d2
- blt.s CARRYON
- move.l #512,d2 ; reached terminal velocity.
- CARRYON:
-
- move.l PLR1_Roompt,a2
- move.l ToZoneRoof(a2),d3
- tst.b PLR1_StoodInTop
- beq.s .okbot
- move.l ToUpperRoof(a2),d3
- .okbot:
-
- add.l #10*256,d3
- cmp.l d1,d3
- blt.s .okroof
- move.l d3,d1
- tst.l d2
- bge.s .okroof
- moveq #0,d2
- .okroof:
-
- move.l d2,PLR1s_yvel
- move.l d1,PLR1s_yoff
-
- rts
-
- ARSE:
-
- sub.l d1,d0
- slt.s CANJUMP
- bgt.s .aboveground
- beq.s .notfast
- sub.l #512,d2
- blt.s .notfast
- move.l #0,d2
- .notfast:
- add.l d2,d1
- sub.l d2,d0
- blt.s .pastitall
- move.l #0,d2
- move.l PLR1s_tyoff,d1
- bra.s .pastitall
-
- .aboveground:
- add.l d2,d1
- add.l #64,d2
-
- move.l #-1024,JUMPSPD
-
- move.l PLR1_Roompt,a2
- move.l ToZoneWater(a2),d0
- cmp.l d0,d1
- blt.s .pastitall
-
- move.l #-512,JUMPSPD
- cmp.l #256*2,d2
- blt.s .pastitall
- move.l #256*2,d2
-
- .pastitall:
-
- move.l d2,PLR1s_yvel
- move.l d1,PLR1s_yoff
-
- move.l #KeyMap,a5
- tst.b $1d(a5)
- beq.s nothrust2
- tst.b CANJUMP
- beq.s nothrust2
- move.l JUMPSPD,PLR1s_yvel
- nothrust2:
-
- move.l PLR1_Roompt,a5
- move.l ToZoneRoof(a5),d0
- tst.b PLR1_StoodInTop
- beq.s .usebottom
- move.l ToUpperRoof(a5),d0
- .usebottom:
-
- move.l PLR1s_yoff,d1
- move.l PLR1s_yvel,d2
-
- sub.l PLR1s_height,d1
- sub.l #10*256,d1
- cmp.l d1,d0
- blt.s .notinroof
- move.l d0,d1
- tst.l d2
- bge.s .notinroof
- moveq #0,d2
- .notinroof
- add.l #10*256,d1
- add.l PLR1s_height,d1
- move.l d1,PLR1s_yoff
-
- move.l d2,PLR1s_yvel
-
- rts
-
- PLR2_fall
- move.l PLR2s_tyoff,d0
- move.l PLR2s_yoff,d1
- move.l PLR2s_yvel,d2
-
- cmp.l d1,d0
- bgt .aboveground
- beq.s .onground
-
- st SLOWDOWN
- ; we are under the ground.
-
- move.l #0,d2
- sub.l d1,d0
- cmp.l #-512,d0
- bge.s .notoobig
- move.l #-512,d0
- .notoobig:
- add.l d0,d1
-
- bra CARRYON2
-
- .onground:
-
- move.w DAMAGEWHENHIT,d3
- sub.w #100,d3
- ble.s .nodam
- move.l PLR2_Obj,a4
- add.b d3,damagetaken(a4)
- .nodam
- move.w #0,DAMAGEWHENHIT
-
- st SLOWDOWN
-
- move.w ADDTOBOBBLE,d3
- move.w d3,d4
- add.w PLR2_bobble,d3
- and.w #8190,d3
- move.w d3,PLR2_bobble
- add.w PLR2_clumptime,d4
- move.w d4,d3
- and.w #4095,d4
- move.w d4,PLR2_clumptime
- and.w #-4096,d3
- beq.s .noclump
-
- bsr PLR2clump
-
- .noclump
-
- move.l #-1024,JUMPSPD
-
- move.l PLR2_Roompt,a2
- move.l ToZoneWater(a2),d0
- cmp.l d0,d1
- blt.s .notinwater
-
- move.l #-512,JUMPSPD
-
- .notinwater:
-
- tst.w PLAYERTWOHEALTH
- ble.s .nothrust
- move.l #KeyMap,a5
- moveq #0,d7
- move.b jump_key,d7
- tst.b (a5,d7.w)
- beq.s .nothrust
- move.l JUMPSPD,d2
- .nothrust:
-
- tst.l d2
- ble.s .nodown
-
- moveq #0,d2
- .nodown:
- add.l d2,d1
- bra CARRYON2
-
- .aboveground
-
- clr.b SLOWDOWN
- ; need to fall down (possibly).
-
- tst.w PLAYERTWOJETPACK
- beq.s .nofly
-
- tst.w PLAYERTWOFUEL
- beq.s .nofly
-
- cmp.w #250,PLAYERTWOFUEL
- ble.s .okfuel
-
- move.w #250,PLAYERTWOFUEL
-
- .okfuel:
-
- st SLOWDOWN
-
- move.l #-128,JUMPSPD
- move.l #KeyMap,a5
- moveq #0,d7
- move.b jump_key,d7
- tst.b (a5,d7.w)
- beq.s .nofly
- add.l JUMPSPD,d2
- move.w #0,DAMAGEWHENHIT
- sub.w #1,PLAYERTWOFUEL
- move.w #40,d3
- add.w PLR2_bobble,d3
- and.w #8190,d3
- move.w d3,PLR2_bobble
-
- .nofly:
-
- move.l d1,oldheight
-
- add.l d2,d1
- cmp.l d1,d0
- bgt.s .stillabove
-
- move.w DAMAGEWHENHIT,d3
- sub.w #100,d3
- ble.s .nodam2
- move.l PLR2_Obj,a4
- add.b d3,damagetaken(a4)
- .nodam2
- move.w #0,DAMAGEWHENHIT
-
- move.l #0,d2
- bra CARRYON2
-
- .stillabove:
- add.l #64,d2
-
- add.w #1,DAMAGEWHENHIT
-
- move.l PLR2_Roompt,a2
- move.l ToZoneWater(a2),d0
- cmp.l d0,d1
- blt.s CARRYON2
-
- cmp.l oldheight,d0
- blt.s .nosplash
-
- movem.l d0-d7/a0-a6,-(a7)
- move.w #6,Samplenum
- move.w #0,Noisex
- move.w #100,Noisez
- move.w #80,Noisevol
- move.w #$fff8,IDNUM
- clr.b notifplaying
- jsr MakeSomeNoise
- movem.l (a7)+,d0-d7/a0-a6
-
- .nosplash:
-
-
- st SLOWDOWN
- move.w #0,DAMAGEWHENHIT
-
- cmp.l #512,d2
- blt.s CARRYON2
-
- move.l #512,d2
-
- CARRYON2:
-
- move.l PLR2_Roompt,a2
- move.l ToZoneRoof(a2),d3
- tst.b PLR2_StoodInTop
- beq.s .okbot
- move.l ToUpperRoof(a2),d3
- .okbot:
-
- add.l #10*256,d3
- cmp.l d1,d3
- blt.s .okroof
- move.l d3,d1
- tst.l d2
- bge.s .okroof
- moveq #0,d2
- .okroof:
-
- move.l d2,PLR2s_yvel
- move.l d1,PLR2s_yoff
-
- rts
-
- PLR3_fall:
- move.l PLR3s_tyoff,d0
- move.l PLR3s_yoff,d1
- move.l PLR3s_yvel,d2
-
- cmp.l d1,d0
- bgt .aboveground
- beq.s .onground
-
- st SLOWDOWN
- ; we are under the ground.
-
- move.l #0,d2
- sub.l d1,d0
- cmp.l #-512,d0
- bge.s .notoobig
- move.l #-512,d0
- .notoobig:
- add.l d0,d1
-
- bra CARRYON3
-
- .onground:
-
- move.w DAMAGEWHENHIT,d3
- sub.w #100,d3
- ble.s .nodam
- move.l PLR3_Obj,a4
- add.b d3,damagetaken(a4)
- .nodam
- move.w #0,DAMAGEWHENHIT
-
- st SLOWDOWN
-
- move.w ADDTOBOBBLE,d3
- move.w d3,d4
- add.w PLR3_bobble,d3
- and.w #8190,d3
- move.w d3,PLR3_bobble
- add.w PLR3_clumptime,d4
- move.w d4,d3
- and.w #4095,d4
- move.w d4,PLR3_clumptime
- and.w #-4096,d3
- beq.s .noclump
-
- bsr PLR3clump
-
- .noclump
-
- move.l #-1024,JUMPSPD
-
- move.l PLR3_Roompt,a2
- move.l ToZoneWater(a2),d0
- cmp.l d0,d1
- blt.s .notinwater
-
- move.l #-512,JUMPSPD
-
- .notinwater:
-
- tst.w PLAYERTHREEHEALTH
- ble.s .nothrust
- move.l #KeyMap,a5
- moveq #0,d7
- move.b jump_key,d7
- tst.b (a5,d7.w)
- beq.s .nothrust
- move.l JUMPSPD,d2
- .nothrust:
-
- tst.l d2
- ble.s .nodown
-
- moveq #0,d2
- .nodown:
- add.l d2,d1
- bra CARRYON3
-
- .aboveground
-
- clr.b SLOWDOWN
- ; need to fall down (possibly).
-
- tst.w PLAYERTHREEJETPACK
- beq.s .nofly
-
- tst.w PLAYERTHREEFUEL
- beq.s .nofly
-
- cmp.w #250,PLAYERTHREEFUEL
- ble.s .okfuel
-
- move.w #250,PLAYERTHREEFUEL
-
- .okfuel:
-
- st SLOWDOWN
-
- move.l #-128,JUMPSPD
- move.l #KeyMap,a5
- moveq #0,d7
- move.b jump_key,d7
- tst.b (a5,d7.w)
- beq.s .nofly
- add.l JUMPSPD,d2
- move.w #0,DAMAGEWHENHIT
- sub.w #1,PLAYERTWOFUEL
- move.w #40,d3
- add.w PLR3_bobble,d3
- and.w #8190,d3
- move.w d3,PLR3_bobble
-
- .nofly:
-
- move.l d1,oldheight
-
- add.l d2,d1
- cmp.l d1,d0
- bgt.s .stillabove
-
- move.w DAMAGEWHENHIT,d3
- sub.w #100,d3
- ble.s .nodam3
- move.l PLR3_Obj,a4
- add.b d3,damagetaken(a4)
- .nodam3
- move.w #0,DAMAGEWHENHIT
-
- move.l #0,d2
- bra CARRYON3
-
- .stillabove:
- add.l #64,d2
-
- add.w #1,DAMAGEWHENHIT
-
- move.l PLR3_Roompt,a2
- move.l ToZoneWater(a2),d0
- cmp.l d0,d1
- blt.s CARRYON3
-
- cmp.l oldheight,d0
- blt.s .nosplash
-
- movem.l d0-d7/a0-a6,-(a7)
- move.w #6,Samplenum
- move.w #0,Noisex
- move.w #100,Noisez
- move.w #80,Noisevol
- move.w #$fff8,IDNUM
- clr.b notifplaying
- jsr MakeSomeNoise
- movem.l (a7)+,d0-d7/a0-a6
-
- .nosplash:
-
-
- st SLOWDOWN
- move.w #0,DAMAGEWHENHIT
-
- cmp.l #512,d2
- blt.s CARRYON3
-
- move.l #512,d2
-
- CARRYON3:
-
- move.l PLR3_Roompt,a2
- move.l ToZoneRoof(a2),d3
- tst.b PLR3_StoodInTop
- beq.s .okbot
- move.l ToUpperRoof(a2),d3
- .okbot:
-
- add.l #10*256,d3
- cmp.l d1,d3
- blt.s .okroof
- move.l d3,d1
- tst.l d2
- bge.s .okroof
- moveq #0,d2
- .okroof:
-
- move.l d2,PLR3s_yvel
- move.l d1,PLR3s_yoff
-
- rts
-
-
- CANJUMP: dc.w 0
- JUMPSPD: dc.l 0
- SLOWDOWN: dc.w 0
- DAMAGEWHENHIT: dc.w 0
- oldheight: dc.l 0